﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DataAccess;
using BusinessLogic;

namespace Manager
{
    public partial class AddUser : System.Web.UI.Page
    {
        UserBusiness userBusiness = new UserBusiness();

        protected void Page_Load(object sender, EventArgs e)
        {
            
            if (!Page.IsPostBack)
            {
            }
        }

        private bool Check_Input()
        {
            int checkExists = 0;

            if (txtFullName.Text.Trim() == "")
            {
                lblErrFullName.Visible = true;
                lblErrFullName.Text = "Bạn chưa nhập Họ tên.";
                txtFullName.Focus();
                return false;
            }

            if (txtUserName.Text.Trim() == "")
            {
                lblErrUserName.Visible = true;
                lblErrUserName.Text = "Bạn chưa nhập Tên đăng nhập.";
                txtUserName.Focus();
                return false;
            }

            checkExists = userBusiness.CheckExistsUserName(txtUserName.Text.Trim());
            if (checkExists != 0)
            {
                lblErrUserName.Visible = true;
                lblErrUserName.Text = "Tên đăng nhập đã tồn tại. Mời bạn chọn Tên đăng nhập khác.";
                txtUserName.Focus();
                return false;
            }

            if (txtPassword.Text.Trim() == "")
            {
                lblErrPassword.Visible = true;
                lblErrPassword.Text = "Bạn chưa nhập mật khẩu.";
                txtPassword.Focus();
                return false;
            }

            if (txtPassword.Text.Trim().Length <= 5)
            {
                lblErrPassword.Visible = true;
                lblErrPassword.Text = "Mật khẩu chứa ít nhất 6 ký tự.";
                txtPassword.Focus();
                return false;
            }

            if (txtEmail.Text.Trim() == "")
            {
                lblErrEmail.Visible = true;
                lblErrEmail.Text = "Bạn chưa nhập Địa chỉ Email.";
                txtEmail.Focus();
                return false;
            }

            if (!Library.Validate.IsEmail(txtEmail.Text.Trim()))
            {
                lblErrEmail.Visible = true;
                lblErrEmail.Text = "Email không đúng định dạng. Mời bạn nhập lại.";
                txtEmail.Focus();
                return false;
            }

            checkExists = userBusiness.CheckExistsEmail(txtEmail.Text.Trim());
            if (checkExists != 0)
            {
                lblErrEmail.Visible = true;
                lblErrEmail.Text = "Email đã tồn tại. Mời bạn nhập Email khác.";
                txtEmail.Focus();
                return false;
            }

            return true;
        }

        protected void btnAdd_Click(object sender, EventArgs e)
        {            
            if (Check_Input())
            {
                UserInfo userInfo = new UserInfo();
                userInfo.SiteID = Config.Global.Settings.SiteID;
                userInfo.UserName = txtUserName.Text.Trim();
                userInfo.FullName = txtFullName.Text.Trim();
                userInfo.Password = Encrypt.Encryption.GetMD5(txtPassword.Text.Trim());
                userInfo.Email = txtEmail.Text.Trim();
                userInfo.Address = txtAddress.Text.Trim();
                userInfo.Phone = txtPhone.Text.Trim();
                userInfo.Description = txtDesc.Text.Trim();
                if (rbtActive.Checked)
                {
                    userInfo.UserStatus = true;
                } 
                else
                {
                    userInfo.UserStatus = false;
                }

                UserData.Insert(userInfo);

                Response.Redirect("UserManager.aspx");
            }
        }

        protected void btnClose_Click(object sender, EventArgs e)
        {
            Response.Redirect("UserManager.aspx");
        }
    }
}